Добавлю небольшой скрипт для Ace - результат этого самого "ковыряния" в Window_NameInput.
Код:
module NameInput
def self.start(actor, length)
return if $game_party.in_battle
if $data_actors[actor]
SceneManager.call(Scene_Name)
SceneManager.scene.prepare(actor, length)
Fiber.yield
end
end
end
class Window_NameEdit < Window_Base
#--------------------------------------------------------------------------
# * Get Coordinates of Left Side for Drawing Name
#--------------------------------------------------------------------------
alias less_chars_left left
def left
return less_chars_left if @max_char<chars
return face_width
end
#--------------------------------------------------------------------------
# * Get Number of Chars In Line
#--------------------------------------------------------------------------
def chars
return (contents_width - face_width) / char_width
end
#--------------------------------------------------------------------------
# * Get Rectangle for Displaying Item
#--------------------------------------------------------------------------
def item_rect(index)
line = index / chars
index = index % chars
lines = @max_char / chars
Rect.new(left + index * char_width, 32 + (line_height + 8) * (line - lines / 2), char_width, line_height)
end
end
Запуск: NameInput.start(номер-персонажа, макс-длина).
Правда, с паролями длиной более 28, кажется, символов это не поможет: мэйкер не даст вписать в условие строку такой длины. Если интересно - могу попробовать пошерстить, как это сделать скриптами, по идее, ничего сложного.
Социальные закладки